package dieciLuglio;
import java.io.*;
import java.net.*;
import java.util.*;

public class Inviatore {

	BufferedReader br=null;
	static PrintWriter pr=null;
	Object o=null; 
	
	public Inviatore(String command){
		System.out.println("inviatore partito");
		try {
			Socket socket=new Socket("localhost",3001);
			
			OutputStreamWriter osw=new OutputStreamWriter(socket.getOutputStream());
			BufferedWriter br1=new BufferedWriter(osw);
			pr=new PrintWriter(br1,true);
			
			
			pr.println(command);
			
			ObjectInputStream input = new ObjectInputStream (socket.getInputStream());
			System.out.println("messaggio dal server:");
			Object m=input.readObject();
			
			o=m;
			
			socket.close();
			System.out.println("inviatore chiuso");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	
	public Object getOggetto(){
		return o;
	}
	
	public static void main(String [] args){
		/*
		Inviatore a=new Inviatore("getUtenteTavolo 2");
		Utente s=(Utente)a.o;
		System.out.println(s);
		*/
		Inviatore x=new Inviatore("getIdUtenteTavolo 1");
		int idTavolo=(Integer)x.o;
		System.out.println(idTavolo);
		/*
		Inviatore c=new Inviatore("associaUtenteATavolo miku92 2");
		System.out.println((Boolean)c.o);
		
		Inviatore c=new Inviatore("dissociaUtenteTavolo 2");
		System.out.println((Boolean)c.o);
		
		Inviatore c=new Inviatore("getCodiceU miku92");
		System.out.println((Integer)c.o);
		
		Inviatore c=new Inviatore("getImportoDaPagare 1");
		System.out.println((Double)c.o);
		
		Inviatore c=new Inviatore("contaQuantiMenu");
		System.out.println((Integer)c.o);
		
		Inviatore c=new Inviatore("contaPiatto Primo");
		System.out.println((Integer)c.o);
		
		Inviatore c=new Inviatore("RandomMenu");
		System.out.println((LinkedList<Alimento>)c.o);
		
		Inviatore c=new Inviatore("CostruisciMenu Menu1");
		System.out.println((LinkedList<Alimento>)c.o);
		
		Inviatore s=new Inviatore("getValoriValutazione 12");
		double []valori=(double[])s.o;
		System.out.print("voto: "+valori[0]+" numvoti: "+valori[1]);
	
		Inviatore i=new Inviatore("valuta 12 10");
		boolean q=(Boolean)i.o;
		System.out.println("oerazione valuta esito: "+q);
		
		LinkedList<Alimento> ll=new LinkedList<Alimento>();
		Inviatore i=new Inviatore("datiPiatti Primo");
		ll=(LinkedList)i.o;
		
		System.out.print("QQ"+ll.getFirst().getNome());
		String ordine=" ";
		Iterator<Alimento> it=ll.iterator();
		while(it.hasNext()){
			ordine+=it.next().getCodice()+" "; 
		}
		
		Inviatore p=new Inviatore("inviaOrdine 7 "+ordine);
		
		Alimento f=null;
		
		Inviatore s=new Inviatore("creaAlimento 3");
		f=(Alimento)s.o;
		
		System.out.println("WW"+f);
		
		boolean v;
		Inviatore x=new Inviatore("accendiTavolo 1");
		v=(Boolean) x.o;
		System.out.println("Tavolo acceso:"+v);
		
		
		boolean t;
		Inviatore p=new Inviatore("spegniTavolo 1");
		t=(Boolean) p.o;
		System.out.println("Tavolo spento:"+t);
		*/
		
		
	}
}
